<template>
  <el-card style="margin-bottom:20px;">
    <div slot="header" class="clearfix">
      <span>个人信息</span>
    </div>
    <div class="user-profile">
      <div class="box-center">
        <div class="text-center">
          <userUpload :user="user"/>
        </div>
      </div>
      <div class="box-center">
        <div class="user-name text-center">{{ user.nickName }}</div>
        <div class="user-role text-center text-muted"><span v-for="role in roles" :key="role">{{ role }}</span></div>
      </div>
    </div>

    <div class="user-bio">
      <div class="user-education user-bio-section">
        <div class="user-bio-section-header">
          <svg-icon icon-class="education"/>
          <span>座右铭</span></div>
        <div class="user-bio-section-body">
          <div class="text-muted">
            当自己足够优秀时，所有的事情都会变得简单。
          </div>
        </div>
      </div>

      <div class="user-skills user-bio-section">
        <div class="user-bio-section-header">
          <svg-icon icon-class="skill"/>
          <span>Skills</span></div>
        <div class="user-bio-section-body">
          <div class="progress-item">
            <span>Java</span>
            <el-progress :percentage="70"/>
          </div>
          <div class="progress-item">
            <span>Mysql</span>
            <el-progress :percentage="18"/>
          </div>
          <div class="progress-item">
            <span>Spring</span>
            <el-progress :percentage="12"/>
          </div>
          <div class="progress-item">
            <span>摸鱼</span>
            <el-progress :percentage="100" status="success"/>
          </div>
        </div>
      </div>
    </div>
  </el-card>
</template>

<script>
  import PanThumb from '@/components/PanThumb'
  import userUpload from './userUpload'
  import {mapGetters} from "vuex";

  export default {
    components: {PanThumb, userUpload},
    props: {
      user: {
        type: Object,
        default: () => {
          return {
            nickName: '',
            email: '',
            avatar: ''
          }
        }
      }
    },
    computed: {
      ...mapGetters([
        'roles'
      ])
    },
  }
</script>

<style lang="scss" scoped>
  .box-center {
    margin: 0 auto;
    display: table;
  }

  .text-muted {
    color: #777;
  }

  .user-profile {
    .user-name {
      font-weight: bold;
    }

    .box-center {
      padding-top: 10px;
    }

    .user-role {
      padding-top: 10px;
      font-weight: 400;
      font-size: 14px;
    }

    .box-social {
      padding-top: 30px;

      .el-table {
        border-top: 1px solid #dfe6ec;
      }
    }

    .user-follow {
      padding-top: 20px;
    }
  }

  .user-bio {
    margin-top: 20px;
    color: #606266;

    span {
      padding-left: 4px;
    }

    .user-bio-section {
      font-size: 14px;
      padding: 15px 0;

      .user-bio-section-header {
        border-bottom: 1px solid #dfe6ec;
        padding-bottom: 10px;
        margin-bottom: 10px;
        font-weight: bold;
      }
    }
  }
</style>
